#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>

namespace Ui {
class MainWindow;
}

enum directions {LEFT, RIGHT, UP, DOWN};

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    
private:
    Ui::MainWindow *ui;
    int inputValue;
    QList<QPushButton*> *pbList;
    QVector< QVector<int> *> *steps;

    QVector<directions> * path;

    bool inputCheck, tableCheck, stepsCheck;

    bool swap(QVector<int> * step,directions dir);
    QVector<int> * copyStep(QVector<int> * step);
    QVector<int> * getStepValueFromPushButtonList();
    bool testStep(QVector<int> * step);
    void makeSteps();

private slots:
    void pClicked();
    void setDirections();
    void okClicked();
    void sliderMove(int m);
};

#endif // MAINWINDOW_H
